#ifndef __APP_SERIAL_H__
#define __APP_SERIAL_H__

#include "app_device.h"
#include <termios.h>
#include <stdio.h>

/* 波特率枚举 */
typedef enum{
    BR_9600 = B9600,
    BR_115200 = B115200
}SERIAL_BAUD_RATE;

/* 校验位枚举 */
typedef enum{
    PARITY_NONE = 0, /* 无校验位 */
    PARITY_ODD = PARENB | PARODD, /* 奇校验位 */
    PARITY_EVEN = 2  /* 偶校验位 */
}SERAL_PARITY;

/* 停止位枚举 */
typedef enum{
    STOP_BIT_1 = 0, /* 1位停止位 */
    STOP_BIT_2 = CSTOPB,  /* 2位停止位 */
}SERIAL_STOP_BIT;

/**
 * @brief : 设置波特率
 * @param    device: 
 * @param    baud_rate: 
 * @return int 
 */
int app_serial_baud(app_device_t *device, SERIAL_BAUD_RATE baud_rate);

/**
 * @brief : 设置阻塞模式
 * @param    device: 
 * @param    isblock: 
 * @return int 
 */
int app_serial_isblock(app_device_t *device, int isblock);

/**
 * @brief : 对设备进行串口设置
 * @param    device: 
 * @return int 
 */
int app_serial_init(app_device_t *device);

#endif /* __APP_SERIAL_H__ */
